import java.util.PriorityQueue;
import java.util.Scanner;
public class Test {
    public static void main(String[] args) {
        //
        Main main = new Main();
        main.main();
    }
}





// 注意类名必须为 Main, 不要有任何 package xxx 信息
class Main {
    public static void main() {
        Scanner in = new Scanner(System.in);
        // 注意 hasNext 和 hasNextLine 的区别
        while (in.hasNextInt()) { // 注意 while 处理多个 case
            /*boolean flg = true;
            if(flg){
                int number = in.nextInt();//测试组数
                flg = false;
            }*/

            int number = in.nextInt();//组数
            for(int i = 1; i <= number; i++){
                int n = in.nextInt();//木棍个数
                //创建一个小根堆吧//存放木棍
                PriorityQueue<Integer> heap = new PriorityQueue<>();
                int len = 0;
                //将木棒入堆
                for (int j = 0; j < n; j++) {
                    len = in.nextInt();
                    heap.add(len);
                }

                int count = 0;//每次减掉的总长度
                int mn = 0;//每次要减掉的长度
                int sum_mn = 0;//总共减掉的长度（单）
                while (!heap.isEmpty()) {
                    int storage = heap.size();//木棒个数
                    mn = heap.peek() - sum_mn;//最短的木棒的长度。
                    sum_mn += mn;
                    count = Math.max(count, mn * storage);
                    while (!heap.isEmpty() && heap.peek() <= sum_mn) {
                        heap.poll();
                    }
                }


                System.out.println(count);
            }
        }
    }
}